Camera assembly with programmable diffractive optical element for depth sensing

ABSTRACT

A depth camera assembly (DCA) for depth sensing of a local area includes a structured light generator, an imaging device, and a controller. The structured light generator illuminates the local area with a structured light pattern. The structured light generator includes a programmable diffractive optical element (PDOE) that generates diffracted scanning beams using optical beams. The PDOE functions as a dynamic diffraction grating that dynamically adjusts diffraction of the optical beams to generate the diffracted scanning beams of different patterns. The diffracted scanning beams are projected as the structured light pattern into the local area, wherein the structured light pattern is dynamically adjustable based on the PDOE. The imaging device captures image(s) of at least a portion of the structured light pattern reflected from object(s) in the local area. The controller determines depth information for the object(s) based on the captured image(s).

BACKGROUND

The present disclosure generally relates to depth sensing, andspecifically relates to a camera assembly with a programmablediffractive optical element (PDOE) for three-dimensional depth sensing.

To achieve a compelling user experience for depth sensing when usinghead-mounted displays (HMDs), it is important to create a scanningdevice that provides illumination pattern that is dynamically adjustablein real time. Most depth sensing methods rely on active illumination anddetection. The conventional methods for depth sensing involve mechanicalscanning or fixed diffractive-optics pattern projection, usingstructured light or time-of-flight techniques. Depth sensing based ontime-of-flight uses a mechanical based mirror device (scanner) to sendshort pulses into an object space. The depth sensing based ontime-of-flight further uses a high speed detector to time-gateback-scattered light from the object to create high resolution depthmaps. However, the mechanical based scanner performs inadequately inscanning speed, real-time reconfiguration and mechanical stability.Depth sensing based on a fixed structured light uses a diffractiveoptical element to generate a structured light of a static (fixed)pattern projected into an object space. The depth sensing based on thefixed structured light further uses a pre-stored look-up table tocompute and extract depth maps. However, the depth sensing based on thefixed structured light and the diffractive optical element is not robustenough for dynamic depth sensing where adjustment in illuminationpattern is required.

SUMMARY

A depth camera assembly (DCA) determines depth information associatedwith one or more objects in a local area. The DCA comprises a structuredlight generator, an imaging device and a controller. The structuredlight generator is configured to illuminate the local area with astructured light pattern (e.g., dot pattern, line pattern, etc.) inaccordance with emission instructions. The structured light generatorincludes an illumination source, a programmable diffractive opticalelement (PDOE), and a projection assembly. The illumination source isconfigured to emit optical beams. The PDOE generates, based in part onthe emission instructions, diffracted scanning beams from the opticalbeams. The PDOE functions as a dynamic diffraction grating thatdynamically adjusts diffraction of the optical beams to generate thediffracted scanning beams of different patterns. The projection assemblyis configured to project the diffracted scanning beams as the structuredlight pattern into the local area, the structured light pattern beingdynamically adjustable based on the PDOE. The imaging device isconfigured to capture one or more images of at least a portion of thestructured light pattern reflected from the one or more objects in thelocal area. The controller may be coupled to both the structured lightgenerator and the imaging device. The controller generates the emissioninstructions and provides the emission instructions to the structuredlight generator. The controller is also configured to determine depthinformation for the one or more objects based in part on the capturedone or more images.

A head-mounted display (HMD) can further integrate the DCA. The HMDfurther includes an electronic display and an optical assembly. The HMDmay be, e.g., a virtual reality (VR) system, an augmented reality (AR)system, a mixed reality (MR) system, or some combination thereof. Theelectronic display is configured to emit image light. The opticalassembly is configured to direct the image light to an exit pupil of theHMD corresponding to a location of a user's eye, the image lightcomprising the depth information of the one or more objects in the localarea determined by the DCA.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram of a head-mounted display (HMD), in accordance withan embodiment.

FIG. 2 is a cross section of a front rigid body of the HMD in FIG. 1, inaccordance with an embodiment.

FIG. 3A is an example depth camera assembly (DCA) comprising aprogrammable diffractive optical element (PDOE), in accordance with anembodiment.

FIG. 3B is an example DCA comprising a reflective PDOE, in accordancewith an embodiment.

FIG. 3C is an example DCA comprising an acousto-optic modulator (AOM)and a PDOE, in accordance with an embodiment.

FIG. 4 is a flow chart illustrating a process of determining depthinformation of objects in a local area, in accordance with anembodiment.

FIG. 5 is a block diagram of a HMD system in which a console operates,in accordance with an embodiment.

The figures depict embodiments of the present disclosure for purposes ofillustration only. One skilled in the art will readily recognize fromthe following description that alternative embodiments of the structuresand methods illustrated herein may be employed without departing fromthe principles, or benefits touted, of the disclosure described herein.

DETAILED DESCRIPTION

A depth camera assembly (DCA) for determining depth information ofobjects in a local area surrounding some or all of the DCA. The DCAincludes an illumination source, a camera, and a controller. Theillumination source includes a light source, a programmable diffractiveoptical element (PDOE) and a projection assembly. The PDOE may be, e.g.,a spatial light modulator, liquid crystal on Silicon (LCOS), amicroelectromechanical (MEM) device, some other device that can producedifferent patterns of light, or some combination thereof. In someembodiments, the illumination source includes a light source, acollimator and a prism that directs collimated light to the PDOE. Inother embodiments, the illumination source includes a light source and alens with a single hybrid optical element that acts to collimate anddirect the collimated beam toward the PDOE. The projection assemblypositioned in front of the PDOE projects light generated by the PDOEinto the local area, wherein a pattern of the projected light isdynamically adjustable based on the PDOE. The controller determines thedepth information based in part on captured one or more images of atleast a portion of the adjustable light pattern reflected from theobjects in the local area.

In some embodiments, the DCA is integrated into a head-mounted display(HMD) that captures data describing depth information in a local areasurrounding some or all of the HMD. The HMD may be part of, e.g., avirtual reality (VR) system, an augmented reality (AR) system, a mixedreality (MR) system, or some combination thereof. The HMD furtherincludes an electronic display and an optical assembly. The electronicdisplay is configured to emit image light. The optical assembly isconfigured to direct the image light to an exit pupil of the HMDcorresponding to a location of a user's eye, the image light comprisingthe depth information of the objects in the local area determined by theDCA.

FIG. 1 is a diagram of a HMD 100, in accordance with an embodiment. TheHMD 100 may be part of, e.g., a VR system, an AR system, a MR system, orsome combination thereof. In embodiments that describe AR system and/ora MR system, portions of a front side 102 of the HMD 100 are at leastpartially transparent in the visible band (˜380 nm to 750 nm), andportions of the HMD 100 that are between the front side 102 of the HMD100 and an eye of the user are at least partially transparent (e.g., apartially transparent electronic display). The HMD 100 includes a frontrigid body 105, a band 110, and a reference point 115. The HMD 100 alsoincludes a DCA configured to determine depth information of a local areasurrounding some or all of the HMD 100. The HMD 100 also includes animaging aperture 120 and an illumination aperture 125, and anillumination source of the DCA emits light (e.g., a structured lightpattern) through the illumination aperture 125. An imaging device of theDCA captures light from the illumination source that is reflected fromthe local area through the imaging aperture 120. Light emitted from theillumination source of the DCA through the illumination aperture 125comprises a structured light pattern, as discussed in more detail inconjunction with FIGS. 2-4. Light reflected from the local area throughthe imaging aperture 120 and captured by the imaging device of the DCAcomprises at least a portion of the reflected structured light pattern,as also discussed in more detail in conjunction with FIGS. 2-4.

The front rigid body 105 includes one or more electronic displayelements (not shown in FIG. 1), one or more integrated eye trackingsystems (not shown in FIG. 1), an Inertial Measurement Unit (IMU) 130,one or more position sensors 135, and the reference point 115. In theembodiment shown by FIG. 1, the position sensors 135 are located withinthe IMU 130, and neither the IMU 130 nor the position sensors 135 arevisible to a user of the HMD 100. The IMU 130 is an electronic devicethat generates fast calibration data based on measurement signalsreceived from one or more of the position sensors 135. A position sensor135 generates one or more measurement signals in response to motion ofthe HMD 100. Examples of position sensors 135 include: one or moreaccelerometers, one or more gyroscopes, one or more magnetometers,another suitable type of sensor that detects motion, a type of sensorused for error correction of the IMU 130, or some combination thereof.The position sensors 135 may be located external to the IMU 130,internal to the IMU 130, or some combination thereof.

FIG. 2 is a cross section 200 of the front rigid body 105 of the HMD 100shown in FIG. 1. As shown in FIG. 2, the front rigid body 105 includesan electronic display 210 and an optical assembly 220 that togetherprovide image light to an exit pupil 225. The exit pupil 225 is a regionin space that would be occupied by a user's eye 230. In some cases, theexit pupil 225 may also be referred to as an eye-box. For purposes ofillustration, FIG. 2 shows a cross section 200 associated with a singleeye 230, but another optical assembly 220, separate from the opticalassembly 220, provides altered image light to another eye of the user.

The electronic display 210 generates image light. In some embodiments,the electronic display 210 includes an optical element that adjusts thefocus of the generated image light. The electronic display 210 displaysimages to the user in accordance with data received from a console (notshown in FIG. 2). In various embodiments, the electronic display 210 maycomprise a single electronic display or multiple electronic displays(e.g., a display for each eye of a user). Examples of the electronicdisplay 210 include: a liquid crystal display (LCD), an organic lightemitting diode (OLED) display, an inorganic light emitting diode (ILED)display, an active-matrix organic light-emitting diode (AMOLED) display,a transparent organic light emitting diode (TOLED) display, some otherdisplay, a projector, or some combination thereof. The electronicdisplay 210 may also include an aperture, a Fresnel lens, a convex lens,a concave lens, a diffractive element, a waveguide, a filter, apolarizer, a diffuser, a fiber taper, a reflective surface, a polarizingreflective surface, or any other suitable optical element that affectsthe image light emitted from the electronic display. In someembodiments, one or more of the display block optical elements may haveone or more coatings, such as anti-reflective coatings.

The optical assembly 220 magnifies received light from the electronicdisplay 210, corrects optical aberrations associated with the imagelight, and the corrected image light is presented to a user of the HMD100. At least one optical element of the optical assembly 220 may be anaperture, a Fresnel lens, a refractive lens, a reflective surface, adiffractive element, a waveguide, a filter, or any other suitableoptical element that affects the image light emitted from the electronicdisplay 210. Moreover, the optical assembly 220 may include combinationsof different optical elements. In some embodiments, one or more of theoptical elements in the optical assembly 220 may have one or morecoatings, such as anti-reflective coatings, dichroic coatings, etc.Magnification of the image light by the optical assembly 220 allowselements of the electronic display 210 to be physically smaller, weighless, and consume less power than larger displays. Additionally,magnification may increase a field-of-view of the displayed media. Forexample, the field-of-view of the displayed media is such that thedisplayed media is presented using almost all (e.g., 110 degreesdiagonal), and in some cases all, of the user's field-of-view. In someembodiments, the optical assembly 220 is designed so its effective focallength is larger than the spacing to the electronic display 210, whichmagnifies the image light projected by the electronic display 210.Additionally, in some embodiments, the amount of magnification may beadjusted by adding or removing optical elements.

As shown in FIG. 2, the front rigid body 105 further includes a DCA 240for determining depth information of one or more objects in a local area245 surrounding some or all of the HMD 100. The DCA 240 includes astructured light generator 250, an imaging device 255, and a controller260 that may be coupled to both the structured light generator 250 andthe imaging device 255. The structured light generator 250 emits lightthrough the illumination aperture 125. In accordance with embodiments ofthe present disclosure, the structured light generator 250 is configuredto illuminate the local area 245 with structured light 265 in accordancewith emission instructions generated by the controller 260. Thecontroller 260 is configured to control operation of certain componentsof the structured light generator 250, based on the emissioninstructions. The controller 260 provides the emission instructions toone or more diffractive optical elements of the structured lightgenerator 250 to dynamically adjust a pattern of the structured light265 that illuminates the local area 245. More details about controllingthe one or more diffractive optical elements of the structured lightgenerator 250 and dynamically adjusting the pattern of the structuredlight 265 are disclosed in conjunction with FIGS. 3A-3C and FIG. 4.

The structured light generator 250 may include a plurality of emittersthat each emits light having certain characteristics (e.g., wavelength,polarization, coherence, temporal behavior, etc.). The characteristicsmay be the same or different between emitters, and the emitters can beoperated simultaneously or individually. In one embodiment, theplurality of emitters could be, e.g., laser diodes (e.g., edgeemitters), inorganic or organic LEDs, a vertical-cavity surface-emittinglaser (VCSEL), or some other source. In some embodiments, a singleemitter or a plurality of emitters in the structured light generator 250can emit one or more light beams. More details about the DCA 240 thatincludes the structured light generator 250 are disclosed in conjunctionwith FIG. 3A.

The imaging device 255 includes one or more cameras configured tocapture, through the imaging aperture 120, at least a portion of thestructured light 265 reflected from the local area 245. The imagingdevice 255 captures one or more images of one or more objects in thelocal area 245 illuminated with the structured light 265. The controller260 coupled to the imaging device 255 is also configured to determinedepth information for the one or more objects based on the capturedportion of the reflected structured light. In some embodiments, thecontroller 260 provides the determined depth information to a console(not shown in FIG. 2) and/or an appropriate module of the HMD 100 (e.g.,a varifocal module, not shown in FIG. 2). The console and/or the HMD 100may utilize the depth information to, e.g., generate content forpresentation on the electronic display 210.

In some embodiments, the front rigid body 105 further comprises an eyetracking system (not shown in FIG. 2) that determines eye trackinginformation for the user's eye 230. The determined eye trackinginformation may comprise information about an orientation of the user'seye 230 in an eye-box, i.e., information about an angle of an eye-gaze.An eye-box represents a three-dimensional volume at an output of a HMDin which the user's eye is located to receive image light. In oneembodiment, the user's eye 230 is illuminated with structured light.Then, the eye tracking system can use locations of the reflectedstructured light in a captured image to determine eye position andeye-gaze. In another embodiment, the eye tracking system determines eyeposition and eye-gaze based on magnitudes of image light captured over aplurality of time instants.

In some embodiments, the front rigid body 105 further comprises avarifocal module (not shown in FIG. 2). The varifocal module may adjustfocus of one or more images displayed on the electronic display 210,based on the eye tracking information. In one embodiment, the varifocalmodule adjusts focus of the displayed images and mitigatesvergence-accommodation conflict by adjusting a focal distance of theoptical assembly 220 based on the determined eye tracking information.In another embodiment, the varifocal module adjusts focus of thedisplayed images by performing foveated rendering of the one or moreimages based on the determined eye tracking information. In yet anotherembodiment, the varifocal module utilizes the depth information from thecontroller 260 to generate content for presentation on the electronicdisplay 210.

FIG. 3A is an example DCA 300, in accordance with an embodiment. The DCA300 is configured for depth sensing over a large field-of-view usingstructured light of a dynamically adjustable pattern. The DCA 300includes a structured light generator 305, an imaging device 310, and acontroller 315 coupled to both the structured light generator 305 andthe imaging device 310. The DCA 300 may be configured to be a componentof the HMD 100 in FIG. 1. Thus, the DCA 300 may be an embodiment of theDCA 240 in FIG. 2; the structured light generator 305 may be anembodiment of the structured light generator 250 in FIG. 2; and theimaging device 310 may be an embodiment of the imaging device 255 inFIG. 2.

The structured light generator 305 is configured to illuminate and scana local area 320 with structured light in accordance with emissioninstructions from the controller 315. The structured light generator 305includes an illumination source 325, a PDOE 330, and a projectionassembly 335. The illumination source 325 generates and directs lighttoward the PDOE 330. The illumination source 325 includes a lightemitter 340 and a beam conditioning assembly 345.

The light emitter 340 is configured to emit optical beams 350, based inpart on the emission instructions from the controller 315. In someembodiments, the light emitter 340 includes an array of laser diodesthat emit the optical beams 350 in an infrared spectrum. In otherembodiments, the light emitter 340 includes an array of laser diodesthat emit the optical beams 350 in a visible spectrum. In someembodiments, the light emitter emits the optical beams 350 as structuredlight of a defined pattern (e.g., dot pattern, or line pattern).Alternatively or additionally, the light emitter 340 emits the opticalbeams as temporally modulated light based in part on the emissioninstructions from the controller 315 to generate temporally modulatedillumination of the local area 320 in addition to structuredillumination.

The beam conditioning assembly 345 collects the optical beams 350emitted from the illumination emitter 340 and directs the optical beams350 toward a portion of the PDOE 330. The beam conditioning assembly 345is composed of one or more optical elements (lenses). In someembodiments, the beam conditioning assembly 345 includes a collimationassembly and a prism (not shown in FIG. 3A). The collimation assemblyincludes one or more optical elements (lenses) that collimate theoptical beams 350 into collimated light. The prism is an optical elementthat directs the collimated light into the PDOE 330. In alternateembodiments, the beam conditioning assembly 345 includes a single hybridoptical element (lens) that both collimates the optical beams 350 togenerate collimated light and directs the collimated light into the PDOE330.

The PDOE 330 generates diffracted scanning beams 355 from the opticalbeams 350, based in part on the emission instructions from thecontroller 315. The PDOE 330 functions as a dynamic diffraction gratingthat dynamically adjusts diffraction of the optical beams 350 togenerate the diffracted scanning beams 355 of different patterns. Bygenerating different patterns of the diffracted scanning beams 355, astructured light pattern 360 illuminating the local area 320 varies overtime. Having ability to dynamically adjust a pattern of the diffractedscanning beams 355 and the structured light pattern 360 providesflexibility to scanning of different areas and various types of objectsin the local area 320. The PDOE 330 may be selected from a groupconsisting of a liquid crystal on Silicon (LCOS) device, a spatial lightmodulator, a digital micro-mirror device, and a microelectromechanical(MEM) device.

In some embodiments, the PDOE 330 implemented as a LCOS device mayinclude a liquid crystal (LC)-based diffractive optical element (notshown in FIG. 3A). A voltage level applied to the LC-based diffractiveoptical element may be dynamically adjusted (e.g., by the controller315). By dynamically adjusting the voltage level, a diffraction angle ofthe LC-based diffractive optical element of the PDOE 330 varies in realtime to form the diffracted scanning beams 355 at the output of the PDOE330 having a pattern that varies over time.

In other embodiments, the PDOE 330 may include a spatial light modulator(not shown in FIG. 3A). The spatial light modulator spatially modulatesthe optical beams 350 to form the diffracted scanning beams 355 asmodulated light, based on a modulation signal having a spatialfrequency. The spatial frequency of the modulation signal may bedynamically adjustable (e.g., via the controller 315) to form themodulated light (i.e., the diffracted scanning beams 355 and thestructured light 360) having a pattern that vary over time.

In yet other embodiments, the PDOE 330 implemented as a digitalmicro-mirror device (DMD) or a MEM device may include an array ofmicro-mirror cells. A first plurality of micro-mirror cells in the arraycan be dynamically reconfigured (e.g., via the controller 315) to absorba portion of the optical beams 350 incident to the PDOE 330. Inaddition, a second plurality of micro-mirror cells in the array can bedynamically reconfigured (e.g., via the controller 315) to reflect(diffract) another portion of the optical beams 350 incident to the PDOE330. By reconfiguring, over a plurality of time instants, differentsubsets of the micro-mirror cells in the PDOE 330 for absorption andreflection of incident light, the diffracted scanning beams 355 (and thestructured light 360) can be generated having a pattern vary over theplurality of time instants.

In some embodiments, the PDOE 330 can be combined with anothernon-programmable DOE or other non-programmable optical element (notshown in FIG. 3A). The non-programmable DOE or optical element can belocated, e.g., in front of the PDOE 330. In this case, the structuredlight pattern 360 is formed in a “tile+tiler” architecture, wherein thetiler or fan-out of the structured light pattern 360 is programmable. Bycombining the PDOE with the non-programmable DOE or optical element, afield-of-view of the local area 320 illuminated by the structured lightpattern 360 is wider.

For a preferred diffraction efficiency, the PDOE 330 may be configuredto diffract the optical beams 350 incident to at least a portion of thePDOE 330 at an angle that satisfies the Bragg matching condition to formthe diffracted scanning beams 355 based in part on the emissioninstructions from the controller 315. In some embodiments, the PDOE 330can be configured to generate the diffracted scanning beams 355 aspolarized light (e.g., circularly polarized light) by orienting theoptical beams 350 to, e.g., a liquid crystal in the PDOE 330 in ageometry satisfying the Bragg matching condition. Note that thediffracted scanning beams 355 can be either right handed circularlypolarized or left handed circularly polarized based on the liquidcrystal in the PDOE 330. In some embodiments, a state of polarization(SOP) of the optical beams 350 incident to the PDOE 330 matches aneigenstate of polarization at the Bragg angle for achieving maximumdiffraction efficiency of the PDOE 330.

The projection assembly 335 is positioned in front of the PDOE 330. Theprojection assembly 335 includes one or more optical elements (lenses).The projection assembly 335 projects the diffracted scanning beams 355as the structured light pattern 360 into the local area 320, e.g., overa wide field-of-view. The structured light pattern 360 is dynamicallyadjustable over time based on the PDOE 330. The structured light pattern360 illuminates portions of the local area 320, including one or moreobjects in the local area 320. As the structured light pattern 360 isdynamically adjustable over time, different portions of the local area320 may be illuminated in different time instants. A reflectedstructured light pattern 365 is generated based on reflection of thestructured light pattern 360 from the one or more objects in the localarea 320.

The imaging device 310 captures one or more images of the one or moreobjects in the local area 320 by capturing at least a portion of thereflected structured light pattern 365. In one embodiment, the imagingdevice 310 is an infrared camera configured to capture images in aninfrared spectrum. In another embodiment, the imaging device 310 isconfigured to capture an image light of a visible spectrum. The imagingdevice 310 may include a charge-coupled device (CCD) detector, acomplementary metal-oxide-semiconductor (CMOS) detector or some othertypes of detectors (not shown in FIG. 3A). The imaging device 310 may beconfigured to operate with a frame rate in the range of kHz to MHz forfast detection of objects in the local area 320. In some embodiments,the imaging device 310 includes a two-dimensional detector pixel arrayfor capturing at least the portion of the reflected structured lightpattern 365. In other embodiments, the imaging device 310 includes morethan one camera for capturing at least the portion of the reflectedstructured light pattern 365.

In some embodiments, the imaging device 310 may include a polarizingelement (not shown in FIG. 3A) placed in front of a camera for receivingand propagating the reflected structured light pattern 365 of aparticular polarization. The polarizing element can be a linearpolarizer, a circular polarizer, an elliptical polarizer, etc. Thepolarizing element can be implemented as a thin film polarizer(absorptive, reflective), a quarter wave plate combined with a linearpolarizer, etc. The reflected structured light pattern 365 may beselected from a group consisting of linearly polarized light (verticaland horizontal), right handed circularly polarized light, left handedcircularly polarized light, and elliptically polarized light. It shouldbe noted that polarization of the reflected structured light pattern 365can be different than polarization of the structured light pattern 360that illuminates the local area 320.

The controller 315 controls operations of various components of the DCA300 in FIG. 3A. In some embodiments, the controller 315 providesemission instructions to the light emitter 340 to control intensity ofthe emitted optical beams 350, (spatial) modulation of the optical beams350, a time duration during which the light emitter 340 is activated,etc. The controller 315 may further create the emission instructions forcontrolling operations of the PDOE 330 to dynamically adjust a patternof the diffracted scanning beams 355 and the structured light pattern360 that illuminates the local area 320. In some embodiments, thecontroller 315 can control, based in part on the emission instructions,operations of the PDOE 330 such that intensity of the diffractedscanning beams 355 is programmable. In other embodiments, the controller315 can control, based in part on the emission instructions, operationsof the PDOE 330 such that a phase of the diffracted scanning beams 355is programmable.

In some embodiments, the controller 315 controls a voltage level appliedto the PDOE 330 having a LC-based diffractive optical element todynamically vary a diffraction angle of the LC-based diffractive opticalelement to form the diffracted scanning beams 355 having a pattern thatvaries over time. In other embodiments, the controller 315 modifies overtime a spatial frequency of a modulation signal applied to the opticalbeams 350 via the PDOE 330 including a spatial light modulator todynamically adjust a pattern of the diffracted scanning beams 355 andthe structured light pattern 360. In yet other embodiments, thecontroller 315 dynamically reconfigures subsets of micro-mirror cells inthe PDOE 330. By reconfiguring, over a plurality of time instants,different subsets of the micro-mirror cells for absorption andreflection of incident light, the controller 315 dynamically adjusts apattern of the diffracted scanning beams 355 and the structured lightpattern 360.

As shown in FIG. 3A, the controller 315 is further coupled to theimaging device 310 and can be configured to determine depth informationfor the one or more objects in the local area 320. The controller 315determines depth information for the one or more objects based in parton the one or more images captured by the imaging device 310. Thecontroller 315 may be configured to determine the depth informationbased on phase-shifted patterns of light captured by the imaging device310 distorted by shapes of the one or more objects in the local area320, and to use triangulation calculation to obtain a depth map of thelocal area 320. Alternatively, the controller 315 may be configured todetermine the depth information based on time-of-flight information andinformation about the reflected structured light pattern 365 distortedby shapes of the one or more objects. In some embodiments, thecontroller 315 can be configured to determine the depth informationbased on polarization information of the reflected structured lightpattern 365 and/or polarization information of the structured lightpattern 360.

In some embodiments, based on the determined depth information for theone or more objects in the local area 320, the controller 315 maycontrol (e.g., based in part on the emission instructions) operation ofthe PDOE 330 as the dynamic diffraction grating to adjust diffraction ofthe optical beams 350. Thus, the controller 315 can instruct the PDOE330 to dynamically adjust diffraction of the optical beams 350 based ona quality of the determined depth information, surface types of the oneor more objects in the local area 320, etc. Additionally oralternatively, the controller 315 may control (e.g., based in part onthe emission instructions) operation of the PDOE 330 as the dynamicdiffraction grating to adjust diffraction of the optical beams 350,based on location information of the one or more objects in the localarea 320. Thus, the controller 315 and the PDOE 330 dynamically adjuststhe structured light pattern 360 based on a location of each object inthe local area 320.

In some embodiments, the controller 315 may control operation of thePDOE 330 such that the structured light pattern 360 is pointed at aregion or regions of interest of the local area 320. In otherembodiments, the controller 315 may control operation of the PDOE 330 toadjust a density of the structured light pattern 360 depending adistance, e.g., along z dimension, to an object of interest in the localarea 320. In yet other embodiments, the controller 315 may controloperation of the PDOE 330 to decrease a density of the structured lightpattern 360 to save power, e.g., dissipated by the imaging device 310and the controller 315 for capturing a portion of the reflectedstructured light pattern 365 and depth determination. In yet otherembodiments, the controller 315 may control operation of the PDOE 330 toincrease a density of the structured light pattern 360 in order toincrease a number of depth points in a depth map of the local area 320.In yet other embodiments, the controller 315 may control operation ofthe PDOE 330 to change the structured light pattern 360 to be moresuitable for e.g., hand tracking versus room or object reconstruction.

FIG. 3B illustrates the structured light generator 305 of the DCA 300that includes the illumination source 325 and the PDOE 330 implementedas a reflective spatial light modulator, in accordance with anembodiment. The illumination source 325 emits the optical beams 350toward a portion of the reflective PDOE 330. In some embodiments, theillumination source 325 includes a collimation assembly (not shown inFIG. 3B) that directs the optical beams 350 as collimated light to thereflective PDOE 330. The reflective PDOE 330 shown in FIG. 3B reflectsthe optical beams 350 incident to the PDOE 330 to generate thestructured light pattern 360. For the simplicity of illustration, theprojection assembly 335 shown in FIG. 3A is omitted in FIG. 3B, althoughthe structured light generator 305 shown in FIG. 3B may also include theprojection assembly 335 that projects the structured light pattern 360into the local area 320. The reflective PDOE 330 shown in FIG. 3B may beimplemented as a LCOS device, a spatial light modulator, a digitalmicro-mirror device, or some other programmable reflective opticalelement. The controller 315 may create the emission instructions forcontrolling operations of the reflective PDOE 330 to dynamically adjustthe structured light pattern 360.

FIG. 3C illustrates the structured light generator 305 of the DCA 300comprising an acousto-optic modulator (AOM) 370 placed in front of thePDOE 330, in accordance with an embodiment. The illumination source 325emits the optical beams 350 toward a portion of the AOM 370. The AOM 370diffracts the optical beams 350 into one or more dimensions. The AOM 370is composed of one or more acousto-optic devices that generatediffracted scanning beams 375 in one or two dimensions by diffractingthe optical beams 350. The diffracted scanning beams 375 may includefirst order diffracted scanning beams. Alternatively, the diffractedscanning beams 375 may include diffracted scanning beams of an orderhigher than the first order.

In some embodiments, each acousto-optic device in the AOM 370 isconfigured to function as a dynamic diffraction grating that diffractsthe optical beams 350 to form the diffracted scanning beams 375 based inpart on emission instructions from the controller 315. Eachacousto-optic device in the AOM 370 may include a transducer or an arrayof transducers and one or more diffraction areas (not shown in FIG. 3C).Responsive to at least one radio frequency in the emission instructions,the transducer or the array of transducers of the acousto-optic devicein the AOM 370 may be configured to generate at least one sound wave inthe one or more diffraction areas of the acousto-optic device to formthe dynamic diffraction grating. The diffracted scanning beams 375generated by the AOM 370 are incident to at least a portion of the PDOE330 that further diffracts the diffracted scanning beams 375 to generatethe diffracted scanning beams 355 of a wider field-of-view. Theprojection assembly 335 projects the diffracted scanning beams 355 asthe structured light pattern 360 illuminating the local area 320.

FIG. 4 is a flow chart illustrating a process 400 of determining depthinformation of objects in a local area, in accordance with anembodiment. The process 400 of FIG. 4 may be performed by the componentsof a DCA (e.g., the DCA 300). Other entities (e.g., a HMD and/orconsole) may perform some or all of the steps of the process in otherembodiments. Likewise, embodiments may include different and/oradditional steps, or perform the steps in different orders.

The DCA generates 410 (e.g., via a controller) emission instructions.The DCA may provide the emission instructions to an illumination sourceand a PDOE within the DCA. Based on the emission instructions, theillumination source may emit optical beams. Based on the emissioninstructions, the emitted optical beams may have a specific intensityand/or modulation (spatial, temporal, etc.). In some embodiments, theDCA generates the emission instructions which include information abouta level of voltage applied to a LC-based diffractive optical element ofthe PDOE. Responsive to the level of voltage in the emissioninstructions, the DCA adjusts a diffraction angle of the PDOE todynamically adjust a pattern of light generated by the PDOE. In otherembodiments, the DCA generates the emission instructions which includeinformation about a spatial frequency of a modulation signal applied tothe optical beams to dynamically adjust a pattern of light generated bya spatial light modulator of the PDOE.

The DCA generates 420 (e.g., via the PDOE) diffracted scanning beamsusing a PDOE and the emission instructions. The PDOE functions as adynamic diffraction grating, in accordance with the emissioninstructions, that dynamically adjusts diffraction of optical beams togenerate the diffracted scanning beams of different patterns. In someembodiments, the PDOE is selected from a group consisting of a spatiallight modulator, a LCOS device, a MEM device, and a digital micro-mirrordevice (DMD). In some embodiments, the PDOE includes a LC-baseddiffractive optical element. A voltage level applied to the LC-baseddiffractive optical element can be varied (e.g., via a controller) toadjust a diffraction angle of the LC-based diffractive optical elementto generate the diffracted scanning beams having the different patterns.In other embodiments, PDOE includes a spatial light modulator thatspatially modulates, based on a modulation signal having a spatialfrequency, the optical beams to generate the diffracted scanning beamsas modulated light. The spatial frequency of the modulation signalapplied to the optical beams can be dynamically adjusted (e.g., via thecontroller) to generate the modulated light having the differentpatterns. In yet other embodiments, the PDOE includes an array ofmicro-mirror cells. A first plurality of cells in the array can bedynamically reconfigured (e.g., via the controller) to absorb a portionof the optical beams, and a second plurality of cells in the array canbe dynamically reconfigured (e.g., via the controller) to reflectanother portion of the optical beams to generate the diffracted scanningbeams having the different patterns.

The DCA projects 430 (e.g., via a projection assembly) the diffractedscanning beams as the structured light pattern into the local area. Thestructured light pattern that illuminates the local area is dynamicallyadjustable based on the PDOE. The structured light pattern may vary inreal time in order to illuminate different portions of the local areaduring different time instants.

The DCA captures 440 (e.g., via an imaging device) one or more images ofat least a portion of the structured light pattern reflected from one ormore objects in the local area. In some embodiments, the imaging deviceincludes a two-dimensional detector pixel array that captures the one ormore images. In other embodiments, the imaging device includes more thanone camera for capturing the one or more images. In some embodiments,the imaging device of includes a polarizing element and a camera,wherein the polarizing element is positioned in front of the camera. Thepolarizing element is configured to receive at least the portion of thereflected structured light pattern having a specific polarization and topropagate the received portion of reflected polarized light to thecamera.

The DCA determines 450 (e.g., via the controller) depth information forthe one or more objects based in part on the captured one or moreimages. In some embodiments, the DCA determines the depth informationfor the one or more objects based on information about the reflectedstructured light pattern distorted by shapes of the one or more objects.The DCA may also determine the depth information for the one or moreobjects based in part on polarization information of the capturedportion of the reflected structured light pattern.

In some embodiments, the DCA is configured as part of a HMD, e.g., theHMD 100 in FIG. 1. In one embodiment, the DCA provides the determineddepth information to a console coupled to the HMD. The console is thenconfigured to generate content for presentation on an electronic displayof the HMD, based on the depth information. In another embodiment, theDCA provides the determined depth information to a module of the HMDthat generates content for presentation on the electronic display of theHMD, based on the depth information. In an alternate embodiment, the DCAis integrated into a HMD as part of an AR system. In this case, the DCAmay be configured to sense and display objects behind a head of a userwearing the HMD or display objects recorded previously. In yet otherembodiment, the DCA is integrated into a base station or a sensor barexternal to the HMD. In this case, the DCA may be configured to sensevarious body parts of a user wearing the HMD, e.g., the user's lowerbody.

System Environment

FIG. 5 is a block diagram of one embodiment of a HMD system 500 in whicha console 510 operates. The HMD system 500 may operate in a VR systemenvironment, an AR system environment, a MR system environment, or somecombination thereof. The HMD system 500 shown by FIG. 5 comprises a HMD505 and an input/output (I/O) interface 515 that is coupled to theconsole 510. While FIG. 5 shows an example HMD system 500 including oneHMD 505 and on I/O interface 515, in other embodiments any number ofthese components may be included in the HMD system 500. For example,there may be multiple HMDs 505 each having an associated I/O interface515, with each HMD 505 and I/O interface 515 communicating with theconsole 510. In alternative configurations, different and/or additionalcomponents may be included in the HMD system 500. Additionally,functionality described in conjunction with one or more of thecomponents shown in FIG. 5 may be distributed among the components in adifferent manner than described in conjunction with FIG. 5 in someembodiments. For example, some or all of the functionality of theconsole 510 is provided by the HMD 505.

The HMD 505 is a head-mounted display that presents content to a usercomprising virtual and/or augmented views of a physical, real-worldenvironment with computer-generated elements (e.g., two-dimensional (2D)or three-dimensional (3D) images, 2D or 3D video, sound, etc.). In someembodiments, the presented content includes audio that is presented viaan external device (e.g., speakers and/or headphones) that receivesaudio information from the HMD 505, the console 510, or both, andpresents audio data based on the audio information. The HMD 505 maycomprise one or more rigid bodies, which may be rigidly or non-rigidlycoupled together. A rigid coupling between rigid bodies causes thecoupled rigid bodies to act as a single rigid entity. In contrast, anon-rigid coupling between rigid bodies allows the rigid bodies to moverelative to each other. An embodiment of the HMD 505 is the HMD 100described above in conjunction with FIG. 1.

The HMD 505 includes a DCA 520, an electronic display 525, an opticalassembly 530, one or more position sensors 535, an IMU 540, an optionaleye tracking system 545, and an optional varifocal module 550. Someembodiments of the HMD 505 have different components than thosedescribed in conjunction with FIG. 5. Additionally, the functionalityprovided by various components described in conjunction with FIG. 5 maybe differently distributed among the components of the HMD 505 in otherembodiments.

The DCA 520 captures data describing depth information of a local areasurrounding some or all of the HMD 505. The DCA 520 can compute thedepth information using the data (e.g., based on a captured portion of astructured light pattern), or the DCA 520 can send this information toanother device such as the console 510 that can determine the depthinformation using the data from the DCA 520.

The DCA 520 includes a structured light generator, an imaging device anda controller. The structured light generator of the DCA 520 isconfigured to illuminate the local area with a structured light pattern(e.g., dot pattern, line pattern, etc.) in accordance with emissioninstructions. The structured light generator of the DCA 520 includes anillumination source, a PDOE, and a projection assembly. The illuminationsource is configured to emit optical beams. The PDOE generates, based inpart on the emission instructions, diffracted scanning beams from theoptical beams. The PDOE functions as a dynamic diffraction grating thatdynamically adjusts diffraction of the optical beams to generate thediffracted scanning beams of different patterns. The projection assemblyis configured to project the diffracted scanning beams as the structuredlight pattern into the local area, the structured light pattern beingdynamically adjustable based on the PDOE. The imaging device of the DCA520 is configured to capture one or more images of at least a portion ofthe structured light pattern reflected from the one or more objects inthe local area. The controller of the DCA 520 may be coupled to both thestructured light generator and the imaging device. The controller of theDCA 520 generates the emission instructions and provides the emissioninstructions to the structured light generator. The controller of theDCA 520 is also configured to determine depth information for the one ormore objects based in part on the captured one or more images. The DCA520 is an embodiment of the DCA 240 in FIG. 2 or the DCA 300 in FIGS.3A-3C.

The electronic display 525 displays two-dimensional or three-dimensionalimages to the user in accordance with data received from the console510. In various embodiments, the electronic display 525 comprises asingle electronic display or multiple electronic displays (e.g., adisplay for each eye of a user). Examples of the electronic display 525include: a liquid crystal display (LCD), an organic light emitting diode(OLED) display, an inorganic light emitting diode (ILED) display, anactive-matrix organic light-emitting diode (AMOLED) display, atransparent organic light emitting diode (TOLED) display, some otherdisplay, or some combination thereof. In some embodiments, theelectronic display 525 may represent the electronic display 210 in FIG.2.

The optical assembly 530 magnifies image light received from theelectronic display 525, corrects optical errors associated with theimage light, and presents the corrected image light to a user of the HMD505. The optical assembly 530 includes a plurality of optical elements.Example optical elements included in the optical assembly 530 include:an aperture, a Fresnel lens, a convex lens, a concave lens, a filter, areflecting surface, or any other suitable optical element that affectsimage light. Moreover, the optical assembly 530 may include combinationsof different optical elements. In some embodiments, one or more of theoptical elements in the optical assembly 530 may have one or morecoatings, such as partially reflective or anti-reflective coatings.

Magnification and focusing of the image light by the optical assembly530 allows the electronic display 525 to be physically smaller, weighless and consume less power than larger displays. Additionally,magnification may increase the field-of-view of the content presented bythe electronic display 525. For example, the field-of-view of thedisplayed content is such that the displayed content is presented usingalmost all (e.g., approximately 110 degrees diagonal), and in some casesall, of the user's field-of-view. Additionally in some embodiments, theamount of magnification may be adjusted by adding or removing opticalelements.

In some embodiments, the optical assembly 530 may be designed to correctone or more types of optical error. Examples of optical error includebarrel or pincushion distortions, longitudinal chromatic aberrations, ortransverse chromatic aberrations. Other types of optical errors mayfurther include spherical aberrations, chromatic aberrations or errorsdue to the lens field curvature, astigmatisms, or any other type ofoptical error. In some embodiments, content provided to the electronicdisplay 525 for display is pre-distorted, and the optical assembly 530corrects the distortion when it receives image light from the electronicdisplay 525 generated based on the content. In some embodiments, theoptical assembly 530 may represent the optical assembly 220 in FIG. 2.

The IMU 540 is an electronic device that generates data indicating aposition of the HMD 505 based on measurement signals received from oneor more of the position sensors 535 and from depth information receivedfrom the DCA 520. A position sensor 535 generates one or moremeasurement signals in response to motion of the HMD 505. Examples ofposition sensors 535 include: one or more accelerometers, one or moregyroscopes, one or more magnetometers, another suitable type of sensorthat detects motion, a type of sensor used for error correction of theIMU 540, or some combination thereof. The position sensors 535 may belocated external to the IMU 540, internal to the IMU 540, or somecombination thereof.

Based on the one or more measurement signals from one or more positionsensors 535, the IMU 540 generates data indicating an estimated currentposition of the HMD 505 relative to an initial position of the HMD 505.For example, the position sensors 535 include multiple accelerometers tomeasure translational motion (forward/back, up/down, left/right) andmultiple gyroscopes to measure rotational motion (e.g., pitch, yaw,roll). In some embodiments, the position sensors 535 may represent theposition sensors 135 in FIG. 1. In some embodiments, the IMU 540 rapidlysamples the measurement signals and calculates the estimated currentposition of the HMD 505 from the sampled data. For example, the IMU 540integrates the measurement signals received from the accelerometers overtime to estimate a velocity vector and integrates the velocity vectorover time to determine an estimated current position of a referencepoint on the HMD 505. Alternatively, the IMU 540 provides the sampledmeasurement signals to the console 510, which interprets the data toreduce error. The reference point is a point that may be used todescribe the position of the HMD 505. The reference point may generallybe defined as a point in space or a position related to the HMD's 505orientation and position.

The IMU 540 receives one or more parameters from the console 510. Theone or more parameters are used to maintain tracking of the HMD 505.Based on a received parameter, the IMU 540 may adjust one or more IMUparameters (e.g., sample rate). In some embodiments, certain parameterscause the IMU 540 to update an initial position of the reference pointso it corresponds to a next position of the reference point. Updatingthe initial position of the reference point as the next calibratedposition of the reference point helps reduce accumulated errorassociated with the current position estimated the IMU 540. Theaccumulated error, also referred to as drift error, causes the estimatedposition of the reference point to “drift” away from the actual positionof the reference point over time. In some embodiments of the HMD 505,the IMU 540 may be a dedicated hardware component. In other embodiments,the IMU 540 may be a software component implemented in one or moreprocessors. In some embodiments, the IMU 540 may represent the IMU 130in FIG. 1.

In some embodiments, the eye tracking system 545 is integrated into theHMD 505. The eye tracking system 545 determines eye tracking informationassociated with an eye of a user wearing the HMD 505. The eye trackinginformation determined by the eye tracking system 545 may compriseinformation about an orientation of the user's eye, i.e., informationabout an angle of an eye-gaze. In some embodiments, the eye trackingsystem 545 is integrated into the optical assembly 530. An embodiment ofthe eye-tracking system 545 may comprise an illumination source and animaging device (camera).

In some embodiments, the varifocal module 550 is further integrated intothe HMD 505. The varifocal module 550 may be coupled to the eye trackingsystem 545 to obtain eye tracking information determined by the eyetracking system 545. The varifocal module 550 may be configured toadjust focus of one or more images displayed on the electronic display525, based on the determined eye tracking information obtained from theeye tracking system 545. In this way, the varifocal module 550 canmitigate vergence-accommodation conflict in relation to image light. Thevarifocal module 550 can be interfaced (e.g., either mechanically orelectrically) with at least one of the electronic display 525 and atleast one optical element of the optical assembly 530. Then, thevarifocal module 550 may be configured to adjust focus of the one ormore images displayed on the electronic display 525 by adjustingposition of at least one of the electronic display 525 and the at leastone optical element of the optical assembly 530, based on the determinedeye tracking information obtained from the eye tracking system 545. Byadjusting the position, the varifocal module 550 varies focus of imagelight output from the electronic display 525 towards the user's eye. Thevarifocal module 550 may be also configured to adjust resolution of theimages displayed on the electronic display 525 by performing foveatedrendering of the displayed images, based at least in part on thedetermined eye tracking information obtained from the eye trackingsystem 545. In this case, the varifocal module 550 provides appropriateimage signals to the electronic display 525. The varifocal module 550provides image signals with a maximum pixel density for the electronicdisplay 525 only in a foveal region of the user's eye-gaze, whileproviding image signals with lower pixel densities in other regions ofthe electronic display 525. In one embodiment, the varifocal module 550may utilize the depth information obtained by the DCA 520 to, e.g.,generate content for presentation on the electronic display 525.

The I/O interface 515 is a device that allows a user to send actionrequests and receive responses from the console 510. An action requestis a request to perform a particular action. For example, an actionrequest may be an instruction to start or end capture of image or videodata or an instruction to perform a particular action within anapplication. The I/O interface 515 may include one or more inputdevices. Example input devices include: a keyboard, a mouse, a gamecontroller, or any other suitable device for receiving action requestsand communicating the action requests to the console 510. An actionrequest received by the I/O interface 515 is communicated to the console510, which performs an action corresponding to the action request. Insome embodiments, the I/O interface 515 includes an IMU 540 thatcaptures calibration data indicating an estimated position of the I/Ointerface 515 relative to an initial position of the I/O interface 515.In some embodiments, the I/O interface 515 may provide haptic feedbackto the user in accordance with instructions received from the console510. For example, haptic feedback is provided when an action request isreceived, or the console 510 communicates instructions to the I/Ointerface 515 causing the I/O interface 515 to generate haptic feedbackwhen the console 510 performs an action.

The console 510 provides content to the HMD 505 for processing inaccordance with information received from one or more of: the DCA 520,the HMD 505, and the I/O interface 515. In the example shown in FIG. 5,the console 510 includes an application store 555, a tracking module560, and an engine 565. Some embodiments of the console 510 havedifferent modules or components than those described in conjunction withFIG. 5. Similarly, the functions further described below may bedistributed among components of the console 510 in a different mannerthan described in conjunction with FIG. 5.

The application store 555 stores one or more applications for executionby the console 510. An application is a group of instructions, that whenexecuted by a processor, generates content for presentation to the user.Content generated by an application may be in response to inputsreceived from the user via movement of the HMD 505 or the I/O interface515. Examples of applications include: gaming applications, conferencingapplications, video playback applications, or other suitableapplications.

The tracking module 560 calibrates the HMD system 500 using one or morecalibration parameters and may adjust one or more calibration parametersto reduce error in determination of the position of the HMD 505 or ofthe I/O interface 515. For example, the tracking module 560 communicatesa calibration parameter to the DCA 520 to adjust the focus of the DCA520 to more accurately determine positions of structured light elementscaptured by the DCA 520. Calibration performed by the tracking module560 also accounts for information received from the IMU 540 in the HMD505 and/or an IMU 540 included in the I/O interface 515. Additionally,if tracking of the HMD 505 is lost (e.g., the DCA 520 loses line ofsight of at least a threshold number of structured light elements), thetracking module 560 may re-calibrate some or all of the HMD system 500.

The tracking module 560 tracks movements of the HMD 505 or of the I/Ointerface 515 using information from the DCA 520, the one or moreposition sensors 535, the IMU 540 or some combination thereof. Forexample, the tracking module 550 determines a position of a referencepoint of the HMD 505 in a mapping of a local area based on informationfrom the HMD 505. The tracking module 560 may also determine positionsof the reference point of the HMD 505 or a reference point of the I/Ointerface 515 using data indicating a position of the HMD 505 from theIMU 540 or using data indicating a position of the I/O interface 515from an IMU 540 included in the I/O interface 515, respectively.Additionally, in some embodiments, the tracking module 560 may useportions of data indicating a position or the HMD 505 from the IMU 540as well as representations of the local area from the DCA 520 to predicta future location of the HMD 505. The tracking module 560 provides theestimated or predicted future position of the HMD 505 or the I/Ointerface 515 to the engine 555.

The engine 565 generates a 3D mapping of the area surrounding some orall of the HMD 505 (i.e., the “local area”) based on informationreceived from the HMD 505. In some embodiments, the engine 565determines depth information for the 3D mapping of the local area basedon information received from the DCA 520 that is relevant for techniquesused in computing depth. The engine 565 may calculate depth informationusing one or more techniques in computing depth from structured light.In various embodiments, the engine 565 uses the depth information to,e.g., update a model of the local area, and generate content based inpart on the updated model.

The engine 565 also executes applications within the HMD system 500 andreceives position information, acceleration information, velocityinformation, predicted future positions, or some combination thereof, ofthe HMD 505 from the tracking module 560. Based on the receivedinformation, the engine 565 determines content to provide to the HMD 505for presentation to the user. For example, if the received informationindicates that the user has looked to the left, the engine 565 generatescontent for the HMD 505 that mirrors the user's movement in a virtualenvironment or in an environment augmenting the local area withadditional content. Additionally, the engine 565 performs an actionwithin an application executing on the console 510 in response to anaction request received from the I/O interface 515 and provides feedbackto the user that the action was performed. The provided feedback may bevisual or audible feedback via the HMD 505 or haptic feedback via theI/O interface 515.

In some embodiments, based on the eye tracking information (e.g.,orientation of the user's eye) received from the eye tracking system545, the engine 565 determines resolution of the content provided to theHMD 505 for presentation to the user on the electronic display 525. Theengine 565 provides the content to the HMD 605 having a maximum pixelresolution on the electronic display 525 in a foveal region of theuser's gaze, whereas the engine 565 provides a lower pixel resolution inother regions of the electronic display 525, thus achieving less powerconsumption at the HMD 505 and saving computing cycles of the console510 without compromising a visual experience of the user. In someembodiments, the engine 565 can further use the eye tracking informationto adjust where objects are displayed on the electronic display 525 toprevent vergence-accommodation conflict.

Additional Configuration Information

The foregoing description of the embodiments of the disclosure has beenpresented for the purpose of illustration; it is not intended to beexhaustive or to limit the disclosure to the precise forms disclosed.Persons skilled in the relevant art can appreciate that manymodifications and variations are possible in light of the abovedisclosure.

Some portions of this description describe the embodiments of thedisclosure in terms of algorithms and symbolic representations ofoperations on information. These algorithmic descriptions andrepresentations are commonly used by those skilled in the dataprocessing arts to convey the substance of their work effectively toothers skilled in the art. These operations, while describedfunctionally, computationally, or logically, are understood to beimplemented by computer programs or equivalent electrical circuits,microcode, or the like. Furthermore, it has also proven convenient attimes, to refer to these arrangements of operations as modules, withoutloss of generality. The described operations and their associatedmodules may be embodied in software, firmware, hardware, or anycombinations thereof.

Any of the steps, operations, or processes described herein may beperformed or implemented with one or more hardware or software modules,alone or in combination with other devices. In one embodiment, asoftware module is implemented with a computer program productcomprising a computer-readable medium containing computer program code,which can be executed by a computer processor for performing any or allof the steps, operations, or processes described.

Embodiments of the disclosure may also relate to an apparatus forperforming the operations herein. This apparatus may be speciallyconstructed for the required purposes, and/or it may comprise ageneral-purpose computing device selectively activated or reconfiguredby a computer program stored in the computer. Such a computer programmay be stored in a non-transitory, tangible computer readable storagemedium, or any type of media suitable for storing electronicinstructions, which may be coupled to a computer system bus.Furthermore, any computing systems referred to in the specification mayinclude a single processor or may be architectures employing multipleprocessor designs for increased computing capability.

Embodiments of the disclosure may also relate to a product that isproduced by a computing process described herein. Such a product maycomprise information resulting from a computing process, where theinformation is stored on a non-transitory, tangible computer readablestorage medium and may include any embodiment of a computer programproduct or other data combination described herein.

Finally, the language used in the specification has been principallyselected for readability and instructional purposes, and it may not havebeen selected to delineate or circumscribe the inventive subject matter.It is therefore intended that the scope of the disclosure be limited notby this detailed description, but rather by any claims that issue on anapplication based hereon. Accordingly, the disclosure of the embodimentsis intended to be illustrative, but not limiting, of the scope of thedisclosure, which is set forth in the following claims.

What is claimed is:
 1. A depth camera assembly (DCA) comprising: astructured light generator configured to illuminate a local area with astructured light pattern in accordance with emission instructions, thestructured light generator comprising: an illumination source configuredto emit optical beams, a programmable diffractive optical element (PDOE)that generates, based in part on the emission instructions, diffractedscanning beams from the optical beams, the PDOE functions as a dynamicdiffraction grating that dynamically adjusts an angle of diffraction ofthe optical beams to generate the diffracted scanning beams of differentpatterns over multiple time instants, and a projection assemblyconfigured to project the diffracted scanning beams as the structuredlight pattern into the local area, the structured light pattern beingdynamically adjustable based on the angle of diffraction of the PDOE; animaging device configured to capture one or more images of at least aportion of the structured light pattern reflected from one or moreobjects in the local area; and a controller configured to: generate theemission instructions, provide the emission instructions to thestructured light generator, and determine depth information for the oneor more objects based in part on the captured one or more images.
 2. TheDCA of claim 1, wherein the PDOE is selected from a group consisting ofa spatial light modulator, a liquid crystal on Silicon (LCOS) device, amicroelectromechanical (MEM) device, and a digital micro-mirror device(DMD).
 3. The DCA of claim 1, wherein: the PDOE includes a liquidcrystal (LC)-based diffractive optical element; and the controllerdynamically adjusts a voltage level applied to the LC-based diffractiveoptical element to adjust the angle of diffraction of the LC-baseddiffractive optical element to form the diffracted scanning beams havingthe different patterns.
 4. The DCA of claim 1, wherein: the PDOEincludes a spatial light modulator that spatially modulates, based on amodulation signal having a spatial frequency, the optical beams to formthe diffracted scanning beams as modulated light; and the controllerdynamically adjusts the spatial frequency of the modulation signalapplied to the optical beams to form the modulated light having thedifferent patterns.
 5. The DCA of claim 1, wherein: the PDOE includes anarray of micro-mirror cells; and the controller dynamicallyreconfigures, based in part on the emission instructions, a firstplurality of cells in the array to absorb a portion of the optical beamsand a second plurality of cells in the array to reflect another portionof the optical beams to form the diffracted scanning beams having thedifferent patterns.
 6. The DCA of claim 1, wherein the illuminationsource includes: a light emitter configured to emit the optical beams,based in part on the emission instructions, a collimation assemblyconfigured to collimate the optical beams into collimated light, and aprism configured to direct the collimated light into the PDOE.
 7. TheDCA of claim 1, wherein the illumination source includes: a lightemitter configured to emit the optical beams, based in part on theemission instructions, and a single optical element configured to:collimate the optical beams to generate collimated light, and direct thecollimated light into the PDOE.
 8. The DCA of claim 1, wherein the PDOEdiffracts the optical beams incident to the PDOE at the angle ofdiffraction that satisfies the Bragg matching condition to form thediffracted scanning beams based in part on the emission instructions. 9.The DCA of claim 1, wherein the optical beams are temporally modulatedproviding the structured light pattern to be temporally modulated. 10.The DCA of claim 1, wherein the controller is further configured to:control the dynamic diffraction grating to adjust the angle ofdiffraction of the optical beams, based on the determined depthinformation.
 11. The DCA of claim 1, wherein the controller is furtherconfigured to: control the dynamic diffraction grating to adjust theangle of diffraction of the optical beams, based on location informationof the one or more objects in the local area.
 12. The DCA of claim 1,wherein the DCA is a component of a head-mounted display.
 13. A methodcomprising: generating emission instructions; generating, based in parton the emission instructions, diffracted scanning beams from opticalbeams by diffracting the optical beams using a programmable diffractiveoptical element (PDOE) that functions as a dynamic diffraction gratingthat dynamically adjusts an angle of diffraction of the optical beams togenerate the diffracted scanning beams of different patterns overmultiple time instants; projecting the diffracted scanning beams as astructured light pattern into a local area, the structured light patternbeing dynamically adjustable based on the angle of diffraction of thePDOE; capturing one or more images of at least a portion of thestructured light pattern reflected from one or more objects in the localarea; and determining depth information for the one or more objectsbased at least in part on the captured one or more images.
 14. Themethod of claim 13, wherein the PDOE includes a liquid crystal(LC)-based diffractive optical element, and the method furthercomprising: dynamically adjusting a voltage level applied to theLC-based diffractive optical element to adjust the angle of diffractionof the LC-based diffractive optical element to form the diffractedscanning beams having the different patterns.
 15. The method of claim13, further comprising: modulating, using the PDOE configured as aspatial light modulator, the optical beams to form the diffractedscanning beams as modulated light, based on a modulation signal having aspatial frequency; and dynamically adjusting the spatial frequency ofthe modulation signal applied to the optical beams to form the modulatedlight having the different patterns.
 16. The method of claim 13, whereinthe PDOE includes an array of micro-mirror cells, and the method furthercomprising: dynamically reconfiguring, based in part on the emissioninstructions, a first plurality of cells in the array to absorb aportion of the optical beams and a second plurality of cells in thearray to reflect another portion of the optical beams to form thediffracted scanning beams having the different patterns.
 17. The methodof claim 13, further comprising: emitting the optical beams, based inpart on the emission instructions; collimating the optical beams togenerate collimated light; and directing the collimated light into thePDOE.
 18. The method of claim 13, further comprising: controlling thedynamic diffraction grating to adjust the angle of diffraction of theoptical beams, based on the determined depth information.
 19. The methodof claim 13, further comprising: controlling the dynamic diffractiongrating to adjust the angle of diffraction of the optical beams, basedon location information of the one or more objects in the local area.20. A head-mounted display (HMD) comprising: an electronic displayconfigured to emit image light; a light generator configured toilluminate a local area with a structured light pattern in accordancewith emission instructions, the light generator comprising: anillumination source configured to emit optical beams, a programmablediffractive optical element (PDOE) that generates, based in part on theemission instructions, diffracted scanning beams from the optical beams,the PDOE functions as a dynamic diffraction grating that dynamicallyadjusts an angle of diffraction of the optical beams to generate thediffracted scanning beams of different patterns over multiple timeinstants, and a projection assembly configured to project the diffractedscanning beams as the structured light pattern into the local area, thestructured light pattern being dynamically adjustable based on the angleof diffraction of the PDOE; an imaging device configured to capture oneor more images of at least a portion of the structured light patternreflected from one or more objects in the local area; a controllerconfigured to: generate the emission instructions, provide the emissioninstructions to the light generator, and determine depth information forthe one or more objects based in part on the captured one or moreimages; and an optical assembly configured to direct the image light toan exit pupil of the HMD corresponding to a location of a user's eye,the image light comprising the determined depth information.